package ve.gob.cne.to;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import ve.gob.cne.util.enums.Operacion;

@Entity
@Table(name = "historico", catalog = "sace")
public class HistoricoTo implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -264368879812421742L;
	private int id;
	private ExtintorTo extintor;
	private UsuarioTo responsable;
	private Date fechaModificacion;
	private Operacion operacion;
	private String nombreOperacion;

	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "extintor", nullable = false)
	public ExtintorTo getExtintor() {
		return extintor;
	}

	public void setExtintor(ExtintorTo extintor) {
		this.extintor = extintor;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "fk_usuario", nullable = false)
	public UsuarioTo getResponsable() {
		return responsable;
	}

	public void setResponsable(UsuarioTo responsable) {
		this.responsable = responsable;
	}

	@Column(name="fecha_modificacion")
	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	@Column(name="operacion")
	@Enumerated(EnumType.ORDINAL)
	public Operacion getOperacion() {
		return operacion;
	}

	public void setOperacion(Operacion operacion) {
		this.operacion = operacion;
	}

	public String getNombreOperacion() {
		return nombreOperacion;
	}

	public void setNombreOperacion(String nombreOperacion) {
		this.nombreOperacion = nombreOperacion;
	}
}
